# -*- coding: utf-8 -*-
# @Author  : longbhu
# @Time    : 2025/2/24 13:32
# @Function:
from calc_v1 import Formula

from calc_v1.utils import load_parameters_from_json, extract_codes, get_ecosystem_codes

# 读取 JSON 数据
ecosystem_json = load_parameters_from_json(r"F:\code\dev\calc-gep-regulate-cqc\devCalc\data\ecosystems_type.json")

# 为每个一级生态系统生成Code列表
ecosystem_codes = {}
for ecosystem in ecosystem_json["applicable_ecosystems"]:
    name = ecosystem["name"]
    codes = extract_codes(ecosystem)
    ecosystem_codes[name] = codes

"""
    applicable_ecosystems=get_ecosystem_codes(['森林生态系统', '灌丛生态系统','草地生态系统','农田生态系统-无水','城市生态系统（建成区）','荒漠生态系统'], ecosystem_codes),  # 水质净化    湿地 城市 海洋
    
    
    applicable_ecosystems=get_ecosystem_codes(['城市生态系统-城市水体','城市生态系统（建成区）'], ecosystem_codes),  # 噪音消减    只有：城市 
    applicable_ecosystems=get_ecosystem_codes(['城市生态系统-城市水体','城市生态系统（建成区）'], ecosystem_codes),  # 噪音消减    只有：城市 
    applicable_ecosystems=get_ecosystem_codes(['城市生态系统-城市水体','城市生态系统（建成区）'], ecosystem_codes),  # 噪音消减    只有：城市 
    applicable_ecosystems=get_ecosystem_codes(['城市生态系统-城市水体','城市生态系统（建成区）'], ecosystem_codes),  # 噪音消减    只有：城市 
    applicable_ecosystems=get_ecosystem_codes(['城市生态系统-城市水体','城市生态系统（建成区）'], ecosystem_codes),  # 噪音消减    只有：城市 
        
        
    applicable_ecosystems=get_ecosystem_codes(['森林生态系统', '灌丛生态系统','草地生态系统', '农田生态系统-水田','农田生态系统-无水','湿地生态系统','城市生态系统（建成区）','城市生态系统-城市水体',], ecosystem_codes),  # 空气净化    没有：荒漠 海洋
  
    applicable_ecosystems=get_ecosystem_codes(['湿地生态系统', '城市生态系统-城市水体'], ecosystem_codes), # 水质净化    只有：湿地 城市 海洋(不计算)
    applicable_ecosystems=get_ecosystem_codes(['森林生态系统', '灌丛生态系统','草地生态系统','农田生态系统-无水','城市生态系统（建成区）','荒漠生态系统'], ecosystem_codes),   # 气候调节Ept    只有：非水面 
    applicable_ecosystems=get_ecosystem_codes(['湿地生态系统', '农田生态系统-水田', '城市生态系统-城市水体', '海洋生态系统'], ecosystem_codes), # 气候调节Ewe    只有：水面 
    applicable_ecosystems=get_ecosystem_codes(['城市生态系统-城市水体','城市生态系统（建成区）'], ecosystem_codes),  # 噪音消减    只有：城市 
    
"""

applicable_ecosystems = get_ecosystem_codes(['湿地生态系统', '城市生态系统-城市水体'],
                                            ecosystem_codes),  # 水质净化    只有：湿地 城市 海洋(不计算)
print(applicable_ecosystems)

'''
===================================气候调节==============================================================================
'''
# 定义 Ept 公式
Ept_formula = Formula(
    name="Ept",
    expression="1 * ett_s * ett_d * 1e6 / (3600 * ett_r)",
    required_params=[
        {"name": "ett_epp", "is_matrix": False, "is_excel": True, "is_value_parameter": False},
        {"name": "ett_s", "is_matrix": False, "is_excel": False, "is_value_parameter": False},
        {"name": "ett_d", "is_matrix": False, "is_excel": False, "is_value_parameter": False},
        {"name": "ett_r", "is_matrix": False, "is_excel": False, "is_value_parameter": False},
    ],
    applicable_ecosystems=get_ecosystem_codes(
        ['森林生态系统', '灌丛生态系统', '草地生态系统', '农田生态系统-无水', '城市生态系统（建成区）', '荒漠生态系统'],
        ecosystem_codes),  # 非水面
    mode="ett_variables"
)

Ewe_formula = Formula(
    name="Ewe",
    expression="ett_ewt * ett_q * 1000 / (3600 * ett_r ) + ett_ewh * ett_y",
    required_params=[
        {"name": "ett_ewt", "is_matrix": True, "is_excel": False, "is_value_parameter": False},
        {"name": "ett_ewh", "is_matrix": True, "is_excel": False, "is_value_parameter": False},
        {"name": "ett_q", "is_matrix": False, "is_excel": False, "is_value_parameter": False},
        {"name": "ett_r", "is_matrix": False, "is_excel": False, "is_value_parameter": False},
        {"name": "ett_y", "is_matrix": False, "is_excel": False, "is_value_parameter": False},
    ],
    applicable_ecosystems=get_ecosystem_codes(['湿地生态系统', '农田生态系统-水田', '城市生态系统-城市水体'],
                                              ecosystem_codes),  # 水面 海洋不计算
    mode="ett_variables"
)
'''
===================================水质净化==============================================================================
'''
Qwp_COD_formula = Formula(
    name="Qwp_COD",  # 水体污染物COD净化量（t/a）
    expression="wp_s * wp_COD",
    required_params=[
        {"name": "wp_s", "is_matrix": False, "is_excel": False, "is_value_parameter": False},
        {"name": "wp_COD", "is_matrix": False, "is_excel": False, "is_value_parameter": False},
    ],
    applicable_ecosystems=get_ecosystem_codes(['湿地生态系统', '城市生态系统-城市水体'], ecosystem_codes),
    # 水质净化    只有：湿地 城市 海洋(不计算)
    mode="wp_variables"
)

Qwp_TN_formula = Formula(
    name="Qwp_TN",  # 水体污染物TN净化量（t/a）
    expression="wp_s * wp_TN",
    required_params=[
        {"name": "wp_s", "is_matrix": False, "is_excel": False, "is_value_parameter": False},
        {"name": "wp_TN", "is_matrix": False, "is_excel": False, "is_value_parameter": False},
    ],
    applicable_ecosystems=get_ecosystem_codes(['湿地生态系统', '城市生态系统-城市水体'], ecosystem_codes),
    # 水质净化    只有：湿地 城市 海洋(不计算)
    mode="wp_variables"
)

Qwp_TP_formula = Formula(
    name="Qwp_TP",  # 水体污染物TP净化量（t/a）
    expression="wp_s * wp_TP",
    required_params=[
        {"name": "wp_s", "is_matrix": False, "is_excel": False, "is_value_parameter": False},
        {"name": "wp_TP", "is_matrix": False, "is_excel": False, "is_value_parameter": False},
    ],
    applicable_ecosystems=get_ecosystem_codes(['湿地生态系统', '城市生态系统-城市水体'], ecosystem_codes),
    # 水质净化    只有：湿地 城市 海洋(不计算)
    mode="wp_variables"
)

'''
===================================水质净化excel==============================================================================
'''
# excel变量直接与生态图计算了，所以在公式中用乘以1代替
Qwp_COD_formula_excel = Formula(
    name="Qwp_COD_excel",  # 水体污染物COD净化量（t/a）
    expression="wp_s * 1",
    required_params=[
        {"name": "wp_s", "is_matrix": False, "is_excel": False, "is_value_parameter": False},
        {"name": "wp_COD", "is_matrix": False, "is_excel": True, "is_value_parameter": False},
    ],
    applicable_ecosystems=get_ecosystem_codes(['湿地生态系统', '城市生态系统-城市水体'], ecosystem_codes),
    # 水质净化    只有：湿地 城市 海洋(不计算)
    mode="wp_variables_excel"
)

Qwp_TN_formula_excel = Formula(
    name="Qwp_TN_excel",  # 水体污染物TN净化量（t/a）
    expression="wp_s * 1",
    required_params=[
        {"name": "wp_s", "is_matrix": False, "is_excel": False, "is_value_parameter": False},
        {"name": "wp_TN", "is_matrix": False, "is_excel": True, "is_value_parameter": False},
    ],
    applicable_ecosystems=get_ecosystem_codes(['湿地生态系统', '城市生态系统-城市水体'], ecosystem_codes),
    # 水质净化    只有：湿地 城市 海洋(不计算)
    mode="wp_variables_excel"
)

Qwp_TP_formula_excel = Formula(
    name="Qwp_TP_excel",  # 水体污染物TP净化量（t/a）
    expression="wp_s * 1",
    required_params=[
        {"name": "wp_s", "is_matrix": False, "is_excel": False, "is_value_parameter": False},
        {"name": "wp_TP", "is_matrix": False, "is_excel": True, "is_value_parameter": False},
    ],
    applicable_ecosystems=get_ecosystem_codes(['湿地生态系统', '城市生态系统-城市水体'], ecosystem_codes),
    # 水质净化    只有：湿地 城市 海洋(不计算)
    mode="wp_variables_excel"
)

'''
===================================空气净化==============================================================================
'''

Qap_SO2_formula = Formula(
    name="Qap_SO2",  # 污染物SO2净化量（t/a）
    expression="ap_s * 1",
    required_params=[
        {"name": "ap_s", "is_matrix": False, "is_excel": False, "is_value_parameter": False},
        {"name": "ap_SO2", "is_matrix": False, "is_excel": True, "is_value_parameter": False},
    ],
    applicable_ecosystems=get_ecosystem_codes(
        ['森林生态系统', '灌丛生态系统', '草地生态系统', '农田生态系统-水田', '农田生态系统-无水', '湿地生态系统',
         '城市生态系统（建成区）', '城市生态系统-城市水体', ], ecosystem_codes),  # 空气净化    没有：荒漠 海洋
    mode="ap_variables"
)

Qap_NOx_formula = Formula(
    name="Qap_NOx",  # 水体污染物NOx净化量（t/a）
    expression="ap_s * 1",
    required_params=[
        {"name": "ap_s", "is_matrix": False, "is_excel": False, "is_value_parameter": False},
        {"name": "ap_NOx", "is_matrix": False, "is_excel": True, "is_value_parameter": False},
    ],
    applicable_ecosystems=get_ecosystem_codes(
        ['森林生态系统', '灌丛生态系统', '草地生态系统', '农田生态系统-水田', '农田生态系统-无水', '湿地生态系统',
         '城市生态系统（建成区）', '城市生态系统-城市水体', ], ecosystem_codes),  # 空气净化    没有：荒漠 海洋
    mode="ap_variables"
)

Qap_PM_formula = Formula(
    name="Qap_PM",  # 水体污染物PM净化量（t/a）
    expression="ap_s * 1",
    required_params=[
        {"name": "ap_s", "is_matrix": False, "is_excel": False, "is_value_parameter": False},
        {"name": "ap_PM", "is_matrix": False, "is_excel": True, "is_value_parameter": False},
    ],
    applicable_ecosystems=get_ecosystem_codes(
        ['森林生态系统', '灌丛生态系统', '草地生态系统', '农田生态系统-水田', '农田生态系统-无水', '湿地生态系统',
         '城市生态系统（建成区）', '城市生态系统-城市水体', ], ecosystem_codes),  # 空气净化    没有：荒漠 海洋
    mode="ap_variables"
)
'''
===================================水源涵养==============================================================================
'''
Qwr_formula = Formula(
    name="Qwr",  # 水源涵养量（立方米）
    expression="wr_s * (wr_p - wr_r - (wr_pet + wr_wet)) * 1000",
    required_params=[
        {"name": "wr_s", "is_matrix": False, "is_excel": False, "is_value_parameter": False},
        {"name": "wr_p", "is_matrix": True, "is_excel": False, "is_value_parameter": False},
        {"name": "wr_pet", "is_matrix": True, "is_excel": False, "is_value_parameter": False},
        {"name": "wr_wet", "is_matrix": True, "is_excel": False, "is_value_parameter": False},
        {"name": "wr_r", "is_matrix": True, "is_excel": False, "is_value_parameter": False},
    ],
    applicable_ecosystems=get_ecosystem_codes(
        ['森林生态系统', '灌丛生态系统', '草地生态系统', '农田生态系统-水田', '农田生态系统-无水', '湿地生态系统',
         '荒漠生态系统',
         '城市生态系统（建成区）', '城市生态系统-城市水体', ], ecosystem_codes),  # 水源涵养    没有：海洋
    mode="wr_variables"
)

'''
===================================土壤保持==============================================================================
'''
Qsr_formula = Formula(
    name="Qsr",  # 土壤保持量（t/a）
    expression="sr_a * (sr_r * sr_k* sr_l*  sr_s*(1 - sr_c)) * 100",
    required_params=[
        {"name": "sr_a", "is_matrix": False, "is_excel": False, "is_value_parameter": False},
        {"name": "sr_r", "is_matrix": True, "is_excel": False, "is_value_parameter": False},
        {"name": "sr_k", "is_matrix": True, "is_excel": False, "is_value_parameter": False},
        {"name": "sr_l", "is_matrix": True, "is_excel": False, "is_value_parameter": False},
        {"name": "sr_s", "is_matrix": True, "is_excel": False, "is_value_parameter": False},
        {"name": "sr_c", "is_matrix": True, "is_excel": False, "is_value_parameter": False},
    ],
    applicable_ecosystems=get_ecosystem_codes(
        ['森林生态系统', '灌丛生态系统', '草地生态系统', '农田生态系统-水田', '农田生态系统-无水', '湿地生态系统',
         '荒漠生态系统',
         '城市生态系统（建成区）', '城市生态系统-城市水体', ], ecosystem_codes),  # 水源涵养    没有：海洋
    mode="sr_variables"
)

'''
===================================洪水调蓄==============================================================================
'''
Cvfm_formula = Formula(
    name="Cvfm",  # 森林、草地、农田-旱地、城市绿地的洪水调蓄量（立方米/a）
    expression="fm_a * (fm_p - fm_r) * 1000",
    required_params=[
        {"name": "fm_a", "is_matrix": False, "is_excel": False, "is_value_parameter": False},
        {"name": "fm_p", "is_matrix": True, "is_excel": False, "is_value_parameter": False},
        {"name": "fm_r", "is_matrix": True, "is_excel": False, "is_value_parameter": False},
    ],
    applicable_ecosystems=get_ecosystem_codes(
        ['森林生态系统', '灌丛生态系统', '草地生态系统', '农田生态系统-无水',
         '城市生态系统（建成区）'], ecosystem_codes),  # 洪水调蓄vfm 5个
    mode="fm_variables"
)

Cpfm_formula = Formula(
    name="Cpfm",  # 农田-水田的洪水调蓄量（立方米/a）
    expression="fm_a * (paddyRidgeHeight_m - riceGrowthAvgWaterLevel_m) * fm_d * 1000000",
    required_params=[
        {"name": "fm_a", "is_matrix": False, "is_excel": False, "is_value_parameter": False},
        {"name": "paddyRidgeHeight_m", "is_matrix": False, "is_excel": False, "is_value_parameter": False},
        {"name": "riceGrowthAvgWaterLevel_m", "is_matrix": False, "is_excel": False, "is_value_parameter": False},
        {"name": "fm_d", "is_matrix": False, "is_excel": False, "is_value_parameter": False},
    ],
    applicable_ecosystems=get_ecosystem_codes(
        ['农田生态系统-水田'], ecosystem_codes),  # 水源涵养    农田中的水田
    mode="fm_variables"
)

Crfm_formula = Formula(
    name="Crfm",  # 湿地-水库的洪水调蓄量（立方米/a）
    expression="fm_rfm",
    required_params=[
        {"name": "fm_a", "is_matrix": False, "is_excel": False, "is_value_parameter": False},
        {"name": "fm_rfm", "is_matrix": True, "is_excel": False, "is_value_parameter": False},
    ],
    applicable_ecosystems=get_ecosystem_codes(
        ['湿地生态系统-水库'], ecosystem_codes),  # 水源涵养    湿地中的水库
    mode="fm_variables"
)

Clfm_formula = Formula(
    name="Clfm",  # 湿地-湖泊的洪水调蓄量（立方米/a）
    expression="fm_lfm",
    required_params=[
        {"name": "fm_a", "is_matrix": False, "is_excel": False, "is_value_parameter": False},
        {"name": "fm_lfm", "is_matrix": True, "is_excel": False, "is_value_parameter": False},
    ],
    applicable_ecosystems=get_ecosystem_codes(
        ['湿地生态系统-湖泊'], ecosystem_codes),  # 水源涵养    湿地中的湖泊
    mode="fm_variables"
)

Csr_formula = Formula(
    name="Cmfm",  # 湿地-沼泽的洪水调蓄量（立方米/a）
    expression="fm_a * marshSurfaceWaterHeight_m * 1000000",
    required_params=[
        {"name": "fm_a", "is_matrix": False, "is_excel": False, "is_value_parameter": False},
        {"name": "marshSurfaceWaterHeight_m", "is_matrix": False, "is_excel": False, "is_value_parameter": False},
    ],
    applicable_ecosystems=get_ecosystem_codes(
        ['湿地生态系统-沼泽'], ecosystem_codes),  # 水源涵养    湿地中的沼泽
    mode="fm_variables"
)

Csws_formula = Formula(
    name="Cmfm",  # 湿地-沼泽的洪水调蓄量（立方米/a）
    expression="fm_a * marshSoilWaterDepth_m *marshSoilBulkDensity_t_m3 *marshSoilWaterContentDiff *1000000",
    required_params=[
        {"name": "fm_a", "is_matrix": False, "is_excel": False, "is_value_parameter": False},
        {"name": "marshSoilWaterDepth_m", "is_matrix": False, "is_excel": False, "is_value_parameter": False},
        {"name": "marshSoilBulkDensity_t_m3", "is_matrix": False, "is_excel": False, "is_value_parameter": False},
        {"name": "marshSoilWaterContentDiff", "is_matrix": False, "is_excel": False, "is_value_parameter": False},
    ],
    applicable_ecosystems=get_ecosystem_codes(
        ['湿地生态系统-沼泽'], ecosystem_codes),  # 水源涵养    湿地中的沼泽
    mode="fm_variables"
)

Cwfm_formula = Formula(
    name="Cwfm",  # 城市-水体的洪水调蓄量（立方米/a）
    expression="fm_a * floodAvgWaterHeight_m *fm_d* 1000000",
    required_params=[
        {"name": "fm_a", "is_matrix": False, "is_excel": False, "is_value_parameter": False},
        {"name": "floodAvgWaterHeight_m", "is_matrix": False, "is_excel": False, "is_value_parameter": False},
        {"name": "fm_d", "is_matrix": False, "is_excel": False, "is_value_parameter": False},
    ],
    applicable_ecosystems=get_ecosystem_codes(
        ['湿地生态系统'], ecosystem_codes),  # 水源涵养    城市中的水体
    mode="fm_variables"
)

'''
===================================防风固沙==============================================================================
'''
Qsf_formula = Formula(
    name="Qsf",  # 防风固沙量（t/a）
    expression="sf_a * (0.1699 * (sf_wf * sf_ef * sf_scf * sf_k) ** 1.3711 * (1 - sf_c ** 1.3711))",
    required_params=[
        {"name": "sf_a", "is_matrix": False, "is_excel": False, "is_value_parameter": False},
        {"name": "sf_wf", "is_matrix": True, "is_excel": False, "is_value_parameter": False},
        {"name": "sf_ef", "is_matrix": True, "is_excel": False, "is_value_parameter": False},
        {"name": "sf_scf", "is_matrix": True, "is_excel": False, "is_value_parameter": False},
        {"name": "sf_k", "is_matrix": True, "is_excel": False, "is_value_parameter": False},
        {"name": "sf_c", "is_matrix": True, "is_excel": False, "is_value_parameter": False},
    ],
    applicable_ecosystems=get_ecosystem_codes(
        ['森林生态系统', '灌丛生态系统', '草地生态系统', '农田生态系统-水田', '农田生态系统-无水', '湿地生态系统',
         '荒漠生态系统',
         ], ecosystem_codes),  # 防风固沙    没有：城市 海洋
    mode="sr_variables"
)

'''
===================================防风固沙==============================================================================
'''
Qtco2_nep_formula = Formula(
    name="Qtco2_nep",  # 固碳量（t/a）
    expression="44/12* tco2_nep",
    required_params=[
        {"name": "tco2_nep", "is_matrix": True, "is_excel": False, "is_value_parameter": False},
    ],
    applicable_ecosystems=get_ecosystem_codes(
        ['森林生态系统', '灌丛生态系统', '草地生态系统', '湿地生态系统', '荒漠生态系统', '农田生态系统-水田',
         '农田生态系统-无水',
         '城市生态系统（建成区）', '城市生态系统-城市水体', ], ecosystem_codes),
    # 固碳    (农田应该用固碳速率法，但无实地调研无法计算，所以也用了nep法)    没有： 海洋
    mode="tco2_variables"
)

# Qtco2_field_formula = Formula(
#     name="Qtco2_field", # 农田的固碳量（t/a）
#     expression="tco2_s * tco2_ocsr * 44/12 * 0.01",
#     required_params=[
#                 {"name": "tco2_s", "is_matrix": False, "is_excel": False, "is_value_parameter": False},
#         {"name": "tco2_TN", "is_matrix": False, "is_excel": False, "is_value_parameter": False},
#     ],
# applicable_ecosystems=get_ecosystem_codes(['农田生态系统-水田', '农田生态系统-无水'], ecosystem_codes), # 固碳    只有：农田
#     mode="tco2_variables"
# )

Qtco2_ocean_formula = Formula(
    name="Qtco2_ocean",  # 海洋的固碳量（t/a）
    expression="tco2_s * tco2_ocsr * 44/12 * 0.01",
    required_params=[
        {"name": "tco2_s", "is_matrix": False, "is_excel": False, "is_value_parameter": False},
        {"name": "tco2_ocsr", "is_matrix": False, "is_excel": True, "is_value_parameter": False},
    ],
    applicable_ecosystems=get_ecosystem_codes(['海洋生态系统'], ecosystem_codes),  # 固碳    只有：海洋
    mode="tco2_variables"
)

'''
===================================其他==============================================================================
'''

test_ept_formula = Formula(
    name="test_ept",
    expression="lcr_epp * lcr_s * lcr_d * 1e6 / (3600 * lcr_r)",  # excel数据直接乘以了生态图了，不在公式里面计算
    required_params=[
        {"name": "lcr_epp", "is_matrix": True, "is_excel": False, "is_value_parameter": False},
        {"name": "lcr_eppi", "is_matrix": False, "is_excel": True, "is_value_parameter": False},
        {"name": "lcr_s", "is_matrix": False, "is_excel": False, "is_value_parameter": False},
        {"name": "lcr_d", "is_matrix": False, "is_excel": False, "is_value_parameter": False},
        {"name": "lcr_r", "is_matrix": False, "is_excel": False, "is_value_parameter": False},
    ],
    applicable_ecosystems=[1000, 2000],
    mode="lcr_variables"
)

# 所有的实物量计算公式列表
formulas_list_Q = [
    # 1. 水质净化
    Qwp_COD_formula,
    Qwp_COD_formula,
    Qwp_TN_formula,
    Qwp_TP_formula,
    Qwp_COD_formula_excel,
    Qwp_TN_formula_excel,
    Qwp_TP_formula_excel,
    # 2. 空气净化
    Qap_SO2_formula,
    Qap_PM_formula,
    Qap_NOx_formula,
    # 3. 水源涵养
    Qwr_formula,
    # 4. 土壤保持
    Qsr_formula,
    # 5. 气候调节
    Ept_formula,
    Ewe_formula,
    # 6. 洪水调蓄
    Cvfm_formula,
    Cpfm_formula,

    Crfm_formula,
    Clfm_formula,
    Csr_formula,
    Csws_formula,

    Cwfm_formula,
    # 7. 防风固沙
    Qsf_formula,

    # 8. 固碳
    Qtco2_ocean_formula,
    Qtco2_nep_formula,


    test_ept_formula
]

# 所有的价值量计算公式列表
formulas_list_V = []

# # todo 每一类单分开，列表相加 解决方法：编写get_ecosystem_codes函数

# dict_eco = {
#     '森林生态系统': [1000, 1100, 1101, 1102, 1200, 1201, 1202, 1300, 1301, 1400, 1401, 1900],
#     '灌丛生态系统': [2000, 2100, 2101, 2102, 2200, 2201, 2300, 2301, 2900],
#     '草地生态系统': [3000, 3100, 3101, 3102, 3200, 3201, 3202, 3300, 3301, 3302, 3400, 3401, 3402, 3900],
#     '湿地生态系统': [4000, 4100, 4101, 4102, 4103, 4200, 4201, 4202, 4203, 4300, 4301, 4302, 4900],
#     '农田生态系统-无水': [5000, 5100, 5102, 5200, 5201, 5202, 5900],
#     '农田生态系统-水田': [5101],
#     '城市生态系统（建成区）': [6000, 6100, 6101, 6102, 6103, 6104, 6200, 6201, 6202, 6203, 6204, 6205, 6206, 6900],
#     '城市生态系统-城市水体': [6300, 6301],
#     '荒漠生态系统': [7000, 7100, 7101, 7200, 7201, 7300, 7301, 7900],
#     '其他陆域': [8000, 8100, 8101, 8200, 8201, 8202, 8900],
#     '海洋生态系统': [9000, 9100, 9101, 9102, 9103, 9104, 9105, 9106]
# }
